const { promisify } = require('util')
const figlet = promisify(require('figlet'))
const clear = require('clear')
const chalk = require('chalk')
const { clone } = require('./download')
const log = content => console.log(chalk.green(content))
const spawn = async (...args) => {
    const { spawn } = require('child_process')
    return new Promise(resolve => {
        const proc = spawn(...args)
        //输出流  子进程   合并到  主进程
        proc.stdout.pipe(process.stdout)
        proc.stderr.pipe(process.stderr)
        proc.on('close', () => {
            resolve()
        })
    })
}
module.exports = async name => {
    clear()
    const data = await figlet('HarderKai')
    log(data)
}

//项目模板
log("创建项目" + name)
await clone("xxxxxxxxx", name)

log(`安装依赖...`)
await spawn('npm', ['install'], { cwd: `./${name}` })
log(chalk.green(`
安装完成：
To get Start:
    ==================
    cd ${name}
    npm run serve
 `))